'use strict';
/**
 * event 传入的参数
 * context 调用者的信息，系统、版本、平台
 */
exports.main = async (event, context) => {
	//返回的数据
	let result = {
		isUpdate: false, //是否更新，默认不更新
		url: "" //安装包路径
	}
	let appid = event.appid //传入的appid
	let version = event.version //传入的版本
	let os = context.OS //客户端系统，android、ios

	//这是通过HTTP接口访问的
	if (event.headers) {
		appid = event.queryStringParameters.appid
		version = event.queryStringParameters.version
	}

	if (appid && version) {
		//连接云数据库
		const db = uniCloud.database();
		//获取数据表
		const table = db.collection('huarui-app-version')
		//查询数据，倒叙查询第一条为最新的
		const datas = await table.where({
			appid: appid
		}).orderBy("_id", "desc").limit(1).get()
		//查询到的记录不为空
		if (datas && datas.data && datas.data.length > 0) {
			const data = datas.data[0]
			//对比版本
			if (compare(data.version, version) == 1) { //需要更新
				result.isUpdate = true
				result.url = data[os].wgt_url
			} else {
				result.msg = '当前版本已经是最新的'
			}
		} else {
			result.msg = "appid不匹配"
		}
	}
	//返回数据给客户端
	return result
};
/**
 * 对比版本号
 */
function compare(v1, v2) {
	let arr_1 = v1.split('.') //拆分成数组进行对比
	let arr_2 = v2.split('.') //拆分成数组进行对比
	for (var i = 0; i < arr_1.length; i++) {
		if (parseInt(arr_1[i]) > parseInt(arr_2[i])) {
			return 1
		}
	}
	return 0
}
